草庐IT

java - Java 和 Scala 类加载的区别

全部标签

ruby - Ruby 字符串上的扫描和匹配有什么区别

我是Ruby的新手,一直使用String.scan来搜索数字的第一次出现。返回值在嵌套数组中有点奇怪,但我只是去[0][0]获取我想要的值。(我确定它有它的用途,只是我还没有使用它。)我刚刚发现有一个String.match方法。而且似乎更方便,因为返回的数组不是嵌套的。这是两者的一个例子,第一个是扫描:>>'a1-nightstay'.scan(/(a)?(\d*)[-]night/i).to_a=>[["a","1"]]然后是匹配>>'a1-nightstay'.match(/(a)?(\d*)[-]night/i).to_a=>["a1-night","a","1"]我已经检查了

ruby - class_eval、class_exec、module_eval 和 module_exec 之间有什么区别?

我正在阅读Module文档,但似乎无法理解它们之间的差异以及应该在何处使用。eval与exec有何不同? 最佳答案 我将通过在您的问题中包含instance_{eval|exec}来回答您的问题。{instance|module|class}_{eval|exec}的所有变体都会更改当前上下文,即self的值:classArraypself#prints"Array"43.instance_eval{pself}#prints"43"end现在说说区别。eval版本接受字符串或block,而exec版本只接受block但允许您向其传

ruby-on-rails - 如何在 Ruby on Rails 中重新加载当前页面?

我目前在我网站的每个页面上的标题栏中都有一个登录弹出窗口。我希望能够在成功登录后重新加载此人所在的当前页面。我如何在Controller中执行此操作?defcreate#declaringanddefininguservariablestuffifuser.save#reloadcurrentpage谢谢 最佳答案 对于我的应用程序,我使用redirect_to:back并且它起到了作用。但是,我怀疑这在非一般用例(用户来自特殊页面?)中可能有错误,但到目前为止我还没有在我的应用程序中找到它。

ruby-on-rails - Rails 3 - 加快控制台加载时间

我想知道是否有任何相对简单的方法可以加快我的控制台加载时间,它开始接近30秒。我有很多子类,它们的方法似乎不受reload!的影响,所以我最终打开和关闭控制台很多次。IRB加载速度快如闪电。我的gem太多了吗?我该如何安排加载任务的时间,以便我可以看到什么占用了最多的时间?如您所见,我已经尝试过dev-boostgem但无济于事。该应用程序在Passenger中很好,只是控制台加载让我很烦。在具有2.4GHz和4GBRAM的MBPOSX10.6.6上运行。不使用RVM。版本:Ovid$rails-vRails3.0.3Ovid$ruby-vruby1.9.2p136(2010-12-2

ruby - Ruby 中的 %w{} 和 %W{} 大写和小写百分比 W 数组文字有什么区别?

%w[]Non-interpolatedArrayofwords,separatedbywhitespace%W[]InterpolatedArrayofwords,separatedbywhitespace用法:p%w{oneonetwothree01123}#=>["one","one","two","three","0","1","1","2","3"]p%W{oneonetwothree01123}#=>["one","one","two","three","0","1","1","2","3"]p%w{C:\C:\Windows}#=>["C:C:\\Windows"]p%W

ruby - 库未加载 :/opt/local/lib/libssl. 1.0.0.dylib (LoadError)

我刚刚发现我无法再gempush…并且一些挖掘导致我需要更新我的RVMSSL证书。我运行了rvmosx-ssl-certsstatusall但这给了我:/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in`require':dlopen(/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle,9

ruby-on-rails - 在 Rails 中,find_each 和 where 之间有什么区别?

在Rails中,find_each和where用于从ActiveRecord支持的数据库中检索数据。您可以将查询条件传递给where,例如:c=Category.where(:name=>'Ruby',:position=>1)并且您可以将批量大小传递给find_each,例如:Hedgehog.find_each(batch_size:50).map{|p|p.to_json}但是下面两段代码有什么区别呢?#code1Person.where("age>21").find_each(batch_size:50)do|person|#processingend#code2Person.

ruby-on-rails - 使用 .exists? 和 .present 有什么区别?在 ruby ?

我想确保我在正确的场合使用它们,并且想知道任何细微之处。它们的功能似乎相同,即检查是否定义了对象字段,当我通过控制台使用它们时,当我进行谷歌搜索时,网上没有很多信息。谢谢! 最佳答案 澄清一下:present?和exists?都不是“纯”ruby—它们都来自Rails-land。现在?present?是Object的ActiveSupport扩展。它通常用作对对象的一般“虚假性”的测试。来自thedocumentation:Anobjectispresentifit’snotblank?.Anobjectisblankifit’sf

Ruby - Array#<< 和 Array#push 之间的区别

通过检查Ruby1.9.3的文档,Array#和Array#push旨在实现将元素append到当前数组的末尾。但是,两者之间似乎存在细微差别。我遇到的是*运算符可用于将整个其他数组的内容append到当前数组,但仅限于#push。.a=[1,2,3]b=[4,5,6]a.push*b=>[1,2,3,4,5,6]正在尝试使用#相反会给出各种错误,具体取决于它是否与点运算符和/或圆括号一起使用。为什么#工作方式不同#push做?一个实际上不是另一个的别名吗? 最佳答案 它们非常相似,但不完全相同。接受单个参数,并将其压入数组的末尾。

ruby - Ruby 中的 File.open、open 和 IO.foreach 有什么区别?

以下所有API都做同样的事情:打开一个文件并为每一行调用一个block。我们应该优先使用一个而不是另一个吗?File.open("file").each_line{|line|putsline}open("file").each_line{|line|putsline}IO.foreach("file"){|line|putsline} 最佳答案 这3个选择之间存在重要差异。File.open("file").each_line{|行|放置行File.open打开一个本地文件并返回一个文件对象文件保持打开状态,直到您对其调用IO#c